//放一些我们通用的验证的
//file:我们要检查的文件

import { ErrorTypes } from "vue-router"

//condition:用什么样的条件去检查
interface CheckCondition {
    format?:string[],   // 检查他的格式
    size?:number //每个上传图片的大小


}
type ErrorType='size' | 'format' | null
export function beforeUploadCheck (file: File,condition:CheckCondition){
    const { format,size} = condition
    //判断格式是否合法
    const isValidFormat = format? format.includes(file.type) : true
    //判断图片的大小是否合法
    const isValidSize = size ? ( file.size / 1024 /1024 <size) : true
    let error :ErrorType = null
    if(!isValidFormat){
        error = 'format'
    }
    if(!isValidSize){
        error = 'size'
    }
    return{
        passed: isValidFormat && isValidSize,
        error
    }
}